Android Layouts (LinearLayout, RelativeLayout, ConstraintLayout)

Mobile App Development - অ্যান্ড্রয়েড ডেভেলপমেন্ট (Android) - Android UI ডিজাইন এবং Layout Management
390

Android Layouts হল এমন একটি কাঠামো যা দ্বারা অ্যাপ্লিকেশনের UI (User Interface) উপাদানগুলি স্ক্রিনে সাজানো হয়। একটি অ্যাপ্লিকেশনের ভিতরে কতগুলো UI উপাদান থাকবে, সেগুলোর আকার ও পজিশন কেমন হবে, এবং সেগুলো কীভাবে ব্যবহারকারীর সাথে ইন্টারঅ্যাক্ট করবে তা Layouts দ্বারা নির্ধারণ করা হয়। Android বিভিন্ন ধরনের Layout প্রদান করে, যার মাধ্যমে জটিল এবং প্রয়োজনমতো UI তৈরি করা সম্ভব।

নিচে Android এর প্রধান Layout সমূহ এবং সেগুলোর বৈশিষ্ট্য নিয়ে আলোচনা করা হলো:


১. LinearLayout

LinearLayout হল এমন একটি লেআউট, যা UI উপাদানগুলোকে একটির পরে একটি সরলরেখায় সাজায়। এই লেআউটটি দুটি ভিন্ন ধরনের হতে পারে:

  • Vertical: উপাদানগুলো উপরে থেকে নিচের দিকে সাজানো হয়।
  • Horizontal: উপাদানগুলো বাম থেকে ডানের দিকে সাজানো হয়।

বৈশিষ্ট্য:

  • orientation: এই অ্যাট্রিবিউট দ্বারা নির্ধারণ করা হয়, উপাদানগুলো একের পর এক vertical (উল্লম্ব) অথবা horizontal (অনুভূমিক) হবে।
  • UI উপাদানগুলো একে অপরের উপরে বা পাশে সাজানো হয়।

উদাহরণ:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello, World!" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Click Me" />

</LinearLayout>

২. RelativeLayout

RelativeLayout হল এমন একটি লেআউট, যেখানে UI উপাদানগুলো একে অপরের সাথে বা প্যারেন্ট লেআউটের সাথে সম্পর্কিত হয়ে সাজানো হয়। এটি জটিল UI ডিজাইন করতে সহায়ক।

বৈশিষ্ট্য:

  • UI উপাদানগুলোকে অন্য উপাদানগুলোর উপর নির্ভর করে সাজানো হয়।
  • layout_alignParent এবং layout_below এর মত অ্যাট্রিবিউট ব্যবহার করে UI উপাদানের অবস্থান নির্ধারণ করা যায়।

উদাহরণ:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello, World!"
        android:layout_alignParentTop="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Click Me"
        android:layout_below="@id/textView"
        android:layout_marginTop="10dp" />

</RelativeLayout>

৩. ConstraintLayout

ConstraintLayout হল সবচেয়ে শক্তিশালী এবং জনপ্রিয় লেআউটগুলির একটি, যা Android এর জন্য জটিল UI ডিজাইন করতে ব্যবহৃত হয়। এখানে UI উপাদানগুলো একে অপরের সাথে এবং প্যারেন্ট লেআউটের সাথে constraints বা সীমা ব্যবহার করে সাজানো হয়।

বৈশিষ্ট্য:

  • Flexible positioning: উপাদানগুলোকে স্ক্রিনের যেকোনো স্থানে নির্ভুলভাবে স্থাপন করা যায়।
  • এটি জটিল এবং responsive UI তৈরি করার জন্য উপযুক্ত।
  • প্রায় সব ধরনের UI ডিজাইন সহজে করা যায়।

উদাহরণ:

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello, World!"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Click Me"
        app:layout_constraintTop_toBottomOf="@+id/textView"
        app:layout_constraintStart_toStartOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

৪. FrameLayout

FrameLayout মূলত একক UI উপাদান প্রদর্শনের জন্য ব্যবহৃত হয়। যদি একাধিক UI উপাদান যোগ করা হয়, তবে তারা একে অপরের উপরে স্তূপিত হবে। এটি সাধারণত UI এলিমেন্টগুলি একের উপর একটি বসানোর জন্য ব্যবহৃত হয়।

বৈশিষ্ট্য:

  • এটি সাধারণত একক ভিউ বা উপাদান প্রদর্শনের জন্য ব্যবহৃত হয়।
  • একাধিক উপাদান থাকলে তারা একে অপরের উপরে বসানো হয়।

উদাহরণ:

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="200dp">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/sample_image" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Overlay Text"
        android:layout_gravity="center" />

</FrameLayout>

৫. TableLayout

TableLayout টেবিলের মতো সারি এবং কলামে UI উপাদানগুলোকে সাজানোর জন্য ব্যবহৃত হয়। প্রতিটি সারি একটি TableRow এর মধ্যে থাকে এবং প্রতি সারিতে এক বা একাধিক UI উপাদান থাকতে পারে।

বৈশিষ্ট্য:

  • এটি টেবিলের মতো কক্ষ এবং সারিতে উপাদান সাজানোর জন্য উপযুক্ত।
  • UI উপাদানগুলো সারি এবং কলামে সঠিকভাবে স্থাপন করা যায়।

উদাহরণ:

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TableRow>
        <TextView
            android:text="Row 1, Col 1" />
        <TextView
            android:text="Row 1, Col 2" />
    </TableRow>

    <TableRow>
        <TextView
            android:text="Row 2, Col 1" />
        <TextView
            android:text="Row 2, Col 2" />
    </TableRow>

</TableLayout>

৬. GridLayout

GridLayout একটি গ্রিড আকারে UI উপাদানগুলোকে সাজাতে ব্যবহৃত হয়। এটি rows এবং columns এ ভিউ উপাদানগুলোকে স্থাপন করে।

বৈশিষ্ট্য:

  • এটি সারি এবং কলামে উপাদান সাজানোর জন্য ব্যবহৃত হয়।
  • এটি জটিল গ্রিডভিত্তিক UI ডিজাইন করতে সাহায্য করে।

উদাহরণ:

<GridLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:rowCount="2"
    android:columnCount="2">

    <TextView
        android:text="Cell 1" />
    <TextView
        android:text="Cell 2" />
    <TextView
        android:text="Cell 3" />
    <TextView
        android:text="Cell 4" />

</GridLayout>

উপসংহার

Android Layouts এর বিভিন্ন প্রকার রয়েছে, যেগুলো বিভিন্ন প্রয়োজন অনুযায়ী UI উপাদানগুলো সাজাতে সহায়ক। LinearLayout, RelativeLayout, এবং ConstraintLayout সবচেয়ে সাধারণভাবে ব্যবহৃত Layout, তবে FrameLayout, TableLayout, এবং GridLayout নির্দিষ্ট পরিস্থিতিতে প্রয়োজনীয় হতে পারে। সঠিক Layout বেছে নিয়ে আপনি একটি সুসংগঠিত এবং ব্যবহারবান্ধব Android UI ডিজাইন করতে পারবেন।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...